---
title: 插件触发器
---

## 简介

<Info>
    触发器仅适用于 Workflow 应用。
</Info>

插件触发器能够让 Workflow 在特定外部事件发生时自动运行。你只需通过触发器插件订阅事件，并将相应的插件触发器添加到 Workflow 中即可。

例如，假设你安装了一个 GitHub 触发器插件。它提供许多可订阅的 GitHub 事件，包括 `Pull Request`、`Push` 和 `Issue`。若你订阅了 `Pull Request` 事件，并将对应的 `Pull Request` 插件触发器添加到 Workflow 中，那么每当有人在指定仓库中创建 pull request 时，Workflow 就会自动运行。

## 添加和配置插件触发器

1. 在 Workflow 画布上，单击右键并选择 **添加节点** > **开始**，然后选择可用的插件触发器，或在 [Dify 插件市场](https://marketplace.dify.ai/?language=zh-Hans&category=trigger) 中搜索更多插件。

    <Tip>
        - 若未找到合适的触发器插件，你可以 [向社区请求](https://github.com/langgenius/dify-plugins/issues/new?template=plugin_request.yaml)、[自行开发](/plugin-dev-zh/0222-trigger-plugin)，或者改用 [Webhook 触发器](/zh-hans/guides/workflow/node/webhook-trigger)。

        - 一个 Workflow 可同时拥有多个并行的插件触发器。当并行的分支连续包含相同节点时，可在相同部分之前添加 [变量聚合节点](/zh-hans/guides/workflow/node/variable-aggregator) 以合并分支，而无需在每个分支中分别重复添加相同的节点。
    </Tip>

2. 选择一个现有订阅或 [创建新订阅](#创建新订阅)。

    <Tip>
        在 **插件** 页面的插件详情面板中，可查看某个特定订阅正在被多少个 Workflow 使用。
    </Tip>

3. 配置其他必需设置。

<Info>
    插件触发器的输出变量由其触发器插件定义，无法修改。
</Info>

## 创建新订阅

<Note>
    订阅一旦创建就无法修改。如需修改，请删除现有订阅并创建新订阅。
</Note>

<Info>
    每个工作区中，一个触发器插件支持最多创建 10 个订阅。
</Info>

每个订阅都建立在一个 webhook 之上。当你创建订阅时，实际上是在设置一个能够监听外部系统事件的 webhook。

<Accordion title="什么是 Webhook？">

    Webhook 允许一个系统自动向另一个系统发送实时数据。当某个特定事件发生时，源系统将事件详情打包进一个 HTTP 请求，并发送至目标系统的指定 URL。

</Accordion>

Dify 支持通过以下两种方法创建订阅（webhook），但每个插件中的可用选项取决于插件本身的设计。

- **自动创建**：你只需选择要订阅的事件，Dify 将在外部系统中自动创建相应的 webhook。这需要你先通过 **OAuth** 或 **API key** 对 Dify 进行授权，以便其代表你配置 webhook。

- **手动创建**：你使用 Dify 提供的回调 URL 自行创建 webhook，无需任何授权。

<img src="/images/create_subscription_method.png" alt="Ways to Create Subscriptions" width="563" />

<Tip>
    创建订阅时，建议选择所有可用的事件。
    
    仅当关联的订阅中包含触发器对应的事件时，插件触发器才会正常工作。若选择所有可用的事件，后续添加到 Workflow 中的任何插件触发器均可使用同一个订阅，而无需创建新订阅。
</Tip>

<Tabs>
    <Tab title="通过 OAuth 创建（自动）">

    在 Dify Cloud 上，许多主流触发器插件都有预配置的默认 OAuth 客户端，一键即可授权 Dify。

    对于自托管部署，只能通过自定义 OAuth 客户端进行授权，即你需要在外部系统中自行创建 OAuth 应用。

        <Tabs>
            <Tab title="默认 OAuth 客户端">

                1. 选择 **通过 OAuth 创建** > **默认** > **保存并授权**。

                    <Info>

                        **保存** 意味着所选选项将被设置为未来订阅的默认 OAuth 选项。

                        如需切换选项，点击 **OAuth 客户端设置** 图标。

                        <img src="/images/oauth_client_settings_icon.png" alt="OAuth Client Settings Icon" width="300" />

                    </Info>

                2. 在弹出的外部系统授权页面上，点击 **下一步** 以授予 Dify 权限。

                3. 填写订阅名称，选择你想要订阅的事件，并配置其他必需设置。

                    <Tip>
                        建议选择所有可用的事件。
                    </Tip>

                4. 点击 **创建**。

            </Tab>

            <Tab title="自定义 OAuth 客户端">

            1. 选择 **通过 OAuth 创建** > **自定义**。

            2. 在外部系统中，使用 Dify 提供的回调 URL 创建一个 OAuth 应用。

            3. 返回 Dify，输入新创建的 OAuth 应用的客户端 ID 和客户端密钥，然后点击 **保存并授权**。

                <Info>
                    保存后，可在未来的订阅中重复使用此客户端凭据。
                </Info>

            4. 填写订阅名称，选择你想要订阅的事件，并配置其他必需设置。

                <Tip>
                    建议选择所有可用的事件。
                </Tip>

            5. 点击 **创建**。

            </Tab>

        </Tabs>

        <Info>
            订阅配置页面上显示的 **回调 URL** 由 Dify 用于代表你在外部系统中创建 webhook。你无需对此 URL 执行任何操作。

            对于自托管部署，可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。
        </Info>
    </Tab>

    <Tab title="通过 API Key 创建（自动）">

    1. 选择 **通过 API Key 创建**。

    2. 输入所需的验证信息，然后点击 **验证**。

    3. 填写订阅名称，选择你想要订阅的事件，并配置其他必需设置。

        <Tip>
            建议选择所有可用的事件。
        </Tip>

    4. 点击 **创建**。

    <Info>
        订阅配置页面上显示的 **回调 URL** 由 Dify 用于代表你在外部系统中创建 webhook。你无需对此 URL 执行任何操作。

        对于自托管部署，可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。
    </Info>
    
    </Tab>

    <Tab title="粘贴 URL 以创建新订阅（手动）">

    1. 选择 **粘贴 URL 以创建新订阅**。

    2. 指定订阅名称，并使用提供的回调 URL 在外部系统中手动创建 webhook。

        <Info>
            对于自托管部署，可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。
        </Info>

    3. （可选）测试已创建的 webhook。

        <Info>
            许多外部系统在新的 webhook 创建后会自动向 Dify 发送 ping 请求以进行测试。
        </Info>
    
        1. 手动触发一个订阅的事件，以让外部系统向 Dify 提供的回调 URL 发送 HTTP 请求。

        2. 回到 **手动设置** 页面，查看底部的 **请求日志**。若 webhook 运作正常，你将看到接收到的外部请求与 Dify 的响应。

            <img src="/images/plugin_trigger_manual_setup_request_logs.png" alt="Request Logs" width="563" />

    4. 点击 **创建**。

    </Tab>

</Tabs>

## 测试插件触发器

如需测试未发布的插件触发器，必须先点击 **运行此步骤** 或测试运行整个 Workflow，使触发器进入监听状态。否则，即使订阅的事件发生，也不会被触发器捕获。

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[编辑此页面](https://github.com/langgenius/dify-docs/edit/main/zh-hans/guides/workflow/node/plugin-trigger.mdx) | [提交问题](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)

